package thinker.miracle.utils;

import thinker.miracle.commons.Config;

/**
 * @author bo.chen
 *
 *	文件存放路径管理
 *
 */
public interface Constants {

	/**
	 * 根目录
	 */
	public static final String ROOT = Config.getProperty("path");
	
	/**
	 * 用户图标存放路径
	 */
	public static final String USER_ICO = "userico/";
	
	/**
	 * 获取路径
	 * 
	 * @param key	目录对应的key
	 * @return
	 * 		key为空是获取根目录
	 * 	key为非根目录时，返回的结果已经带有根目录，无需再去拼接根目录
	 */
	public static String get(String key){
		if(key == null || key.equals(Path.ROOT.toString()))//根目录
			return ROOT;
		else if(key.equals(Path.USER_ICO.toString()))
			return ROOT + USER_ICO;
		return null;
	}
	
	
	/**
	 * 获取文件全路径
	 * 
	 * @param key		文件目录key
	 * @param fileName	文件名称
	 * @return
	 * 		返回文件全路径
	 *
	 */
	public static String createPath(String key,String fileName){
		if( key == null )
			throw new RuntimeException("key can not be null");
		else if( fileName == null )
			throw new RuntimeException("fileName can not be null");
		else if(key.equals(Path.USER_ICO.toString()))
			return ROOT + fileName;
		return null;
	}
	
	/**
	 * 目录对应的key
	 * 
	 */
	public static enum Path {
		ROOT,USER_ICO;
	}
}
